<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: StExecutableImage::AddressFilter Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('struct_st_executable_image_1_1_address_filter.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="struct_st_executable_image_1_1_address_filter-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StExecutableImage::AddressFilter Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="apps_2elftosb_2common_2_st_executable_image_8h_source.html">StExecutableImage.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af3b5e44665c1595d4fc10466d535cfe1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3b5e44665c1595d4fc10466d535cfe1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#af3b5e44665c1595d4fc10466d535cfe1">AddressFilter</a> (<a class="el" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">AddressFilterAction</a> action, uint32_t from, uint32_t to, unsigned priority=0)</td></tr>
<tr class="memdesc:af3b5e44665c1595d4fc10466d535cfe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af3b5e44665c1595d4fc10466d535cfe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade72f15778297f4672a323376fe5ae3c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#ade72f15778297f4672a323376fe5ae3c">matchesMemoryRegion</a> (const <a class="el" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;region) const </td></tr>
<tr class="memdesc:ade72f15778297f4672a323376fe5ae3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test routine.  <a href="#ade72f15778297f4672a323376fe5ae3c">More...</a><br /></td></tr>
<tr class="separator:ade72f15778297f4672a323376fe5ae3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6571b8480962450a966931da8f241e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#a5f6571b8480962450a966931da8f241e">compare</a> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="memdesc:a5f6571b8480962450a966931da8f241e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two address filter objects.  <a href="#a5f6571b8480962450a966931da8f241e">More...</a><br /></td></tr>
<tr class="separator:a5f6571b8480962450a966931da8f241e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b5e44665c1595d4fc10466d535cfe1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3b5e44665c1595d4fc10466d535cfe1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#af3b5e44665c1595d4fc10466d535cfe1">AddressFilter</a> (<a class="el" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">AddressFilterAction</a> action, uint32_t from, uint32_t to, unsigned priority=0)</td></tr>
<tr class="memdesc:af3b5e44665c1595d4fc10466d535cfe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af3b5e44665c1595d4fc10466d535cfe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade72f15778297f4672a323376fe5ae3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade72f15778297f4672a323376fe5ae3c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#ade72f15778297f4672a323376fe5ae3c">matchesMemoryRegion</a> (const <a class="el" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;region) const </td></tr>
<tr class="memdesc:ade72f15778297f4672a323376fe5ae3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test routine. <br /></td></tr>
<tr class="separator:ade72f15778297f4672a323376fe5ae3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6571b8480962450a966931da8f241e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f6571b8480962450a966931da8f241e"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#a5f6571b8480962450a966931da8f241e">compare</a> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="memdesc:a5f6571b8480962450a966931da8f241e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two address filter objects. <br /></td></tr>
<tr class="separator:a5f6571b8480962450a966931da8f241e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Comparison operators</div></td></tr>
<tr class="memitem:ad5d826951a4bbaea891bb8962ffdaf64"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5d826951a4bbaea891bb8962ffdaf64"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:ad5d826951a4bbaea891bb8962ffdaf64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431f590fbb6110ce23569a0f9735abfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a431f590fbb6110ce23569a0f9735abfd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:a431f590fbb6110ce23569a0f9735abfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f09145271e3974e10af9f7edcff92f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f09145271e3974e10af9f7edcff92f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:af7f09145271e3974e10af9f7edcff92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7b129afda7395eea8e3a313c902f17c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7b129afda7395eea8e3a313c902f17c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:ac7b129afda7395eea8e3a313c902f17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3a358733d24354c83ac6ecf1ec7811"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e3a358733d24354c83ac6ecf1ec7811"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:a9e3a358733d24354c83ac6ecf1ec7811"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d826951a4bbaea891bb8962ffdaf64"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5d826951a4bbaea891bb8962ffdaf64"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:ad5d826951a4bbaea891bb8962ffdaf64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431f590fbb6110ce23569a0f9735abfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a431f590fbb6110ce23569a0f9735abfd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:a431f590fbb6110ce23569a0f9735abfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f09145271e3974e10af9f7edcff92f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f09145271e3974e10af9f7edcff92f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:af7f09145271e3974e10af9f7edcff92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7b129afda7395eea8e3a313c902f17c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7b129afda7395eea8e3a313c902f17c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:ac7b129afda7395eea8e3a313c902f17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3a358733d24354c83ac6ecf1ec7811"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e3a358733d24354c83ac6ecf1ec7811"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) const </td></tr>
<tr class="separator:a9e3a358733d24354c83ac6ecf1ec7811"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aefd0d6b3926e4a511e4b2b6a217448b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefd0d6b3926e4a511e4b2b6a217448b8"></a>
<a class="el" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">AddressFilterAction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#aefd0d6b3926e4a511e4b2b6a217448b8">m_action</a></td></tr>
<tr class="memdesc:aefd0d6b3926e4a511e4b2b6a217448b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Action to be performed when the filter is matched. <br /></td></tr>
<tr class="separator:aefd0d6b3926e4a511e4b2b6a217448b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26d2120abe978be14efa07d2c925b39a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26d2120abe978be14efa07d2c925b39a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#a26d2120abe978be14efa07d2c925b39a">m_fromAddress</a></td></tr>
<tr class="memdesc:a26d2120abe978be14efa07d2c925b39a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start address of the filter. Should be lower than or equal to <a class="el" href="struct_st_executable_image_1_1_address_filter.html#a89ca4d06127f645af7ccb2654f09f188" title="End address of the filter. Should be higher than or equal to m_fromAddress. ">m_toAddress</a>. <br /></td></tr>
<tr class="separator:a26d2120abe978be14efa07d2c925b39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89ca4d06127f645af7ccb2654f09f188"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89ca4d06127f645af7ccb2654f09f188"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#a89ca4d06127f645af7ccb2654f09f188">m_toAddress</a></td></tr>
<tr class="memdesc:a89ca4d06127f645af7ccb2654f09f188"><td class="mdescLeft">&#160;</td><td class="mdescRight">End address of the filter. Should be higher than or equal to <a class="el" href="struct_st_executable_image_1_1_address_filter.html#a26d2120abe978be14efa07d2c925b39a" title="Start address of the filter. Should be lower than or equal to m_toAddress. ">m_fromAddress</a>. <br /></td></tr>
<tr class="separator:a89ca4d06127f645af7ccb2654f09f188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d61c5cf6a14fe3eb1a6b4eac63f0fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1d61c5cf6a14fe3eb1a6b4eac63f0fc"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_st_executable_image_1_1_address_filter.html#af1d61c5cf6a14fe3eb1a6b4eac63f0fc">m_priority</a></td></tr>
<tr class="memdesc:af1d61c5cf6a14fe3eb1a6b4eac63f0fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority for this filter. Zero is the lowest priority. <br /></td></tr>
<tr class="separator:af1d61c5cf6a14fe3eb1a6b4eac63f0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An address filter consists of a single address range and an action. If a memory region overlaps the filter's range then the action will be performed. The possible filter actions are defined by the <a class="el" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339" title="The possible actions for regions matching an address filter range. ">AddressFilterAction</a> enumeration. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5f6571b8480962450a966931da8f241e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int StExecutableImage::AddressFilter::compare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compares two address filter objects. </p>
<p>The comparison does <em>not</em> take the action into account. It only looks at the priority and address ranges of each filter. Priority is considered only if the two filters overlap. Lower priority filters will come after higher priority ones.</p>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">-1</td><td>This filter is less than filter <em>b</em>. </td></tr>
    <tr><td class="paramname">0</td><td>This filter is equal to filter <em>b</em>. </td></tr>
    <tr><td class="paramname">1</td><td>This filter is greater than filter <em>b</em>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade72f15778297f4672a323376fe5ae3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool StExecutableImage::AddressFilter::matchesMemoryRegion </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;&#160;</td>
          <td class="paramname"><em>region</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test routine. </p>
<p>Returns true if the address filter overlaps <em>region</em>. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li><a class="el" href="apps_2elftosb_2common_2_st_executable_image_8h_source.html">apps/elftosb/common/StExecutableImage.h</a></li>
<li>apps/elftosb/common/StExecutableImage.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_st_executable_image.html">StExecutableImage</a></li><li class="navelem"><a class="el" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
